
var prefix = ctx+"coupon/cpInfo"
//表单中字典字段	
var dictFields = ["validType","expiredConf","pubFlag","searchTypeId"];
//字典类型 顺序与表单字典字段对应
var dictKeys = ["validType","expiredConf","pubFlag","cpSearchType","obtainType"];
var dicDatas = {};
		
$(function() {
	load();
	loadDicts();
	$("#oilGoods").fileinput({
		'uploadUrl': prefix+'/importOilGoods',
		removeFromPreviewOnError:true, //当选择的文件不符合规则时，例如不是指定后缀文件、大小超出配置等，选择的文件不会出现在预览框中，只会显示错误信息
		validateInitialCount:true,//开启校验文件数量限制
		maxFileCount: 1,//允许最多上传文件数量
		dropZoneEnabled: false,//是否显示拖拽区域
		maxFileSize: 10240,//单位为kb，如果为0表示不限制文件大小
		'theme': 'fas',
		'language' : 'zh',
        overwriteInitial: false,
        initialPreviewAsData: true,
		allowedFileExtensions: ['xlsx', 'xls']
	}).on("fileuploaded", function(event, data, previewId, index) {
		layer.msg(data.response.msg);
    });
});

function loadDicts(){
	$.ajax({
		url : ctx+'common/dict/listdictbykeys',
		data : {'dictKeys':dictKeys},
		async : false,//同步执行
		success : function(data) {
			dicDatas = data;
		}
	});
	$('#cpTypeId').bootstrapSelect({
		url : ctx+'plat/cpType/listCpTypeDict',
		valueField: 'typeId',
		textField: 'typeName',
		placeholder: "请选择优惠券类型"
	});
	$('#platId').bootstrapSelect({
	    url:ctx+'plat/platInfo/listPlatDict',
	    valueField: 'platId',
	    textField: 'platName',
	    placeholder: "请选择所属平台",
	    onChange:function(value){
	    	if(value == null || value == ''){
	    		return false;
	    	}
	    	//级联商户
	    	$('#merchantId').bootstrapSelect({
	    		url:ctx+'/plat/merchantInfo/listMerchantDict/'+value,
	    		valueField: 'merchantId',
	    		textField: 'merchantName',
	    		placeholder: "请选择所属商户"
	    	});
	    	//bootstrap-select使用规则是先执行操作然后refresh
	    	$('#merchantId').selectpicker('refresh');
	    }
	});
	$('#merchantId').bootstrapSelect({
		valueField: 'merchantId',
		textField: 'merchantName',
		placeholder: "请选择所属商户"
	});
	$('#expiredConf').bootstrapSelect({
		data:dicDatas['expiredConf'],
		valueField: 'value',
		textField: 'name',
		placeholder: "过期处理"
	});
	$('#searchTypeId').bootstrapSelect({
		data:dicDatas['cpSearchType'],
		valueField: 'value',
		textField: 'name',
		placeholder: "搜索类型"
	});
	$('#pubFlag').bootstrapSelect({
		data:dicDatas['pubFlag'],
		valueField: 'value',
		textField: 'name',
		placeholder: "券状态"
	});
	
}
function load() {
	$('#exampleTable')
			.bootstrapTable(
					{
						method : 'get', // 服务器数据的请求方式 get or post
						url : prefix + "/list", // 服务器数据的加载地址
						iconSize : 'outline',
						toolbar : '#exampleToolbar',
						striped : true, // 设置为true会有隔行变色效果
						dataType : "json", // 服务器返回的数据类型
						pagination : true, // 设置为true会在底部显示分页条
						singleSelect : false, // 设置为true将禁止多选
						pageSize : 10, // 如果设置了分页，每页数据条数
						pageNumber : 1, // 如果设置了分布，首页页码
						//search : true, // 是否显示搜索框
						showColumns : false, // 是否显示内容下拉框（选择显示的列）
						sidePagination : "server", // 设置在哪里进行分页，可选值为"client" 或者 "server"
						queryParams : function(params) {
							return {
								limit: params.limit,
								offset:params.offset
							};
						},
						columns : [
								{
									checkbox : true
								},
																{
									field : 'cpId', 
									title : '优惠券编号' 
								},
																{
									field : 'platName', 
									title : '平台名称' 
								},
																{
									field : 'platType', 
									title : '平台类型',
									visible:false

								},
																{
									field : 'merchantName', 
									title : '商户名称' 
								},
								{
									field : 'provinceNum', 
									title : '省' 
								},
								{
									field : 'cityNum', 
									title : '市' 
								},
																{
									field : 'cpName', 
									title : '优惠券名' 
								},
																{
									field : 'cpTypeDesc', 
									title : '券类型'
								},
																{
									field : 'searchTypeId', 
									title : '券搜索分类' ,
									formatter : function(value, row, index) {
										for(var i = 0;i<dicDatas['cpSearchType'].length;i++){
											if(dicDatas['cpSearchType'][i].value == value){
												return dicDatas['cpSearchType'][i].name;
											}
										}
									}
								},
																{
									field : 'costFee', 
									title : '优惠券价格' 
								},
								{
									field : 'subsidyFee', 
									title : '补贴' 
								},
																{
									field : 'servFee', 
									title : '分润金额' 
								},
								{
									field : 'pubTime', 
									title : '发布时间' 
								},
								{
									field : 'validDate', 
									title : '有效期' ,
									formatter : function(value, row, index) {
										return row.startValidData+'至'+row.endValidData
									}
								},
								{
									field : 'expiredConf', 
									title : '过期可退'  ,
									formatter : function(value, row, index) {
										for(var i = 0;i<dicDatas['expiredConf'].length;i++){
											if(dicDatas['expiredConf'][i].value == value){
												return dicDatas['expiredConf'][i].name;
											}
										}
									}
								},
								{
									field : 'pubFlag', 
									title : '优惠券状态' ,
									formatter : function(value, row, index) {
										for(var i = 0;i<dicDatas['pubFlag'].length;i++){
											if(dicDatas['pubFlag'][i].value == value){
												return dicDatas['pubFlag'][i].name;
											}
										}
									}
								},							{
									field : 'cpNum', 
									title : '可发券数量' 
								},
																{
									field : 'cpGeneNum', 
									title : '已发券数量' 
								},{
									field : 'obtainType',
									title : '获取类型' ,
								formatter : function(value, row, index) {
									for(var i = 0;i<dicDatas['obtainType'].length;i++){
										if(dicDatas['obtainType'][i].value == value){
											return dicDatas['obtainType'][i].name;
										}
									}
								}
								},{
									title : '操作',
									field : 'id',
									align : 'center',
									formatter : function(value, row, index) {
//										var d = '<a class="btn btn-warning btn-sm '+s_remove_h+'" href="#" title="删除"  mce_href="#" onclick="remove(\''+ row.cpId+ '\')"><i class="fa fa-remove">删除</i></a> ';
										var d = "";
										var f = "";
										if (row.pubFlag == "1") {
											d = '<a class="btn btn-primary btn-sm '+s_edit_h+'" href="#" mce_href="#" title="编辑派券加油站" onclick="edit(\''+ row.cpId+ '\')"><i class="fa fa-edit"></i></a> ';
										}
										if(row.platType == '2' && row.pubFlag == '5'){
											//如果平台类型是会员营销系统,则显示发布任务按钮
											f = '<a class="btn btn-success  btn-sm" href="#" title="发布任务"  mce_href="#" onclick="createTask(\''+ row.cpId + '\',\''+row.pubFlag+'\')"><i class="fa fa-remove">发布任务</i></a> ';

										}/*else{
											return e  ;

										}*/
//										var g = '<a class="btn btn-primary btn-sm '+s_remove_h+'" href="#" title="审核"  mce_href="#" onclick="doCheck(\''+ row.cpId + '\',\''+row.version+ '\',\''+row.pubFlag+'\')"><i class="fa fa-check">审核</i></a> ';
//										var h = '<a class="btn btn-warning btn-sm '+s_remove_h+'" href="#" title="拒绝"  mce_href="#" onclick="doRefuse(\''+ row.cpId + '\',\''+row.version+ '\',\''+row.pubFlag+'\')"><i class="fa fa-times-circle-o">拒绝</i></a> ';
										return d + f;
									}
								} ]
					});
}
//给会员营销系统创建发布优惠券任务
function createTask(cpId,pubFlag){
	//选择营销活动,创建任务
	if(pubFlag != '5'){
		layer.msg('只有待发布任务的优惠券可以执行该操作!');
		return false;
	}
	var width = $(window).width()*0.8 + 'px';
	var height = $(window).height()*0.8 + 'px';
	layer.open({
		type : 2,
		title : '发布任务',
		maxmin : true,
		shadeClose : false, // 点击遮罩关闭层
		area : [ width, height ],
		content : prefix + '/createtask/' + cpId // iframe的url
	});
	
}
function reLoad() {
	var query = {};
    $.each($("#search-form").serializeArray(), function(i, field) {
    	query[field.name] = field.value;
    });
	var opt = {
		query : query
	};
	$('#exampleTable').bootstrapTable('refresh', opt);
}
function doCheck(cpId,version,pubFlag){
	if(pubFlag != '1'){
		layer.msg('只有待审核的优惠券可以执行该操作!');
		return false;
	}
	//审核 二次确认
	layer.confirm('确定审核通过吗', {
	        btn: ['确定', '取消']
	    }, function () {
	        $.ajax({
	            url: prefix + "/changeStatus",
	            type: "post",
	            data: {
	                'cpId': cpId,
	                'version': version,
	                'pubFlag': 2
	            },
	            success: function (r) {
	                if (r.code == 0) {
	                    layer.msg(r.msg);
	                    reLoad();
	                } else {
	                    layer.msg(r.msg);
	                }
	            }
	        });
	})
}

function doRefuse(cpId,version,pubFlag) {
	if(pubFlag != '1'){
		layer.msg('只有待审核的优惠券可以执行该操作!');
		return false;
	}
	layer.open({
		type : 2,
		title : '审核拒绝',
		maxmin : true,
		shadeClose : false, // 点击遮罩关闭层
		area : [ '600px', '500px' ],
		content : prefix + '/refuse/' + cpId // iframe的url
	});
}


function add() {
	var width = $(window).width()*0.8 + 'px';
	var height = $(window).height()*0.8 + 'px';
	layer.open({
		type : 2,
		title : '增加',
		maxmin : true,
		shadeClose : false, // 点击遮罩关闭层
		area : [ width, height ],
		content : prefix + '/add' // iframe的url
	});
}
function edit(id) {
	var width = $(window).width()*0.8 + 'px';
	var height = $(window).height()*0.8 + 'px';
	layer.open({
		type : 2,
		title : '编辑派券加油站',
		maxmin : true,
		shadeClose : false, // 点击遮罩关闭层
		area : [ width, height ],
		content : prefix + '/edit/' + id // iframe的url
	});
}
function showDetails(id) {
	var width = $(window).width()*0.8 + 'px';
	var height = $(window).height()*0.8 + 'px';
	layer.open({
		type : 2,
		title : '编辑',
		maxmin : true,
		shadeClose : false, // 点击遮罩关闭层
		area : [ width, height ],
		content : prefix + '/get/' + id // iframe的url
	});
}
function remove(id) {
	layer.confirm('确定要删除选中的记录？', {
		btn : [ '确定', '取消' ]
	}, function() {
		$.ajax({
			url : prefix+"/remove",
			type : "post",
			data : {
				'cpId' : id
			},
			success : function(r) {
				if (r.code==0) {
					layer.msg(r.msg);
					reLoad();
				}else{
					layer.msg(r.msg);
				}
			}
		});
	})
}


function batchRemove() {
	var rows = $('#exampleTable').bootstrapTable('getSelections'); // 返回所有选择的行，当没有选择的记录时，返回一个空数组
	if (rows.length == 0) {
		layer.msg("请选择要删除的数据");
		return;
	}
	layer.confirm("确认要删除选中的'" + rows.length + "'条数据吗?", {
		btn : [ '确定', '取消' ]
	// 按钮
	}, function() {
		var ids = new Array();
		// 遍历所有选择的行数据，取每条数据对应的ID
		$.each(rows, function(i, row) {
			ids[i] = row['cpId'];
		});
		$.ajax({
			type : 'POST',
			data : {
				"ids" : ids
			},
			url : prefix + '/batchRemove',
			success : function(r) {
				if (r.code == 0) {
					layer.msg(r.msg);
					reLoad();
				} else {
					layer.msg(r.msg);
				}
			}
		});
	}, function() {
		
	});
}
//批量下架
function batchStop() {
	var rows = $('#exampleTable').bootstrapTable('getSelections'); // 返回所有选择的行，当没有选择的记录时，返回一个空数组
	if (rows.length == 0) {
		layer.msg("请选择要下架的数据");
		return;
	}
	layer.confirm("确认要下架选中的'" + rows.length + "'条数据吗?", {
		btn : [ '确定', '取消' ]
	// 按钮
	}, function() {
		var ids = new Array();
		// 遍历所有选择的行数据，取每条数据对应的ID
		$.each(rows, function(i, row) {
			ids[i] = row['cpId'];
		});
		$.ajax({
			type : 'POST',
			data : {
				"ids" : ids
			},
			url : prefix + '/batchStop',
			success : function(r) {
				if (r.code == 0) {
					layer.msg(r.msg);
					reLoad();
				} else {
					layer.msg(r.msg);
				}
			}
		});
	}, function() {

	});
}
